{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "pygame 2.6.1 (SDL 2.28.4, Python 3.13.2)\n",
      "Hello from the pygame community. https://www.pygame.org/contribute.html\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "import torch.nn.functional as F\n",
    "from torch.utils.data import Dataset, DataLoader\n",
    "from viewer import *\n",
    "from amc_parser import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\xchen\\AppData\\Local\\Temp\\5\\ipykernel_57788\\2634182477.py:55: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  self.inputs = torch.tensor(inputs, dtype=torch.float32)\n",
      "C:\\Users\\xchen\\AppData\\Local\\Temp\\5\\ipykernel_57788\\2634182477.py:56: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  self.labels = torch.tensor(labels, dtype=torch.float32)\n"
     ]
    }
   ],
   "source": [
    "name = 'ANN'\n",
    "action_type = ['02_walk.amc','02_run.amc']\n",
    "joints = parse_asf('02.asf')\n",
    "joint_name_list = list(joints.keys())\n",
    "action_frames = {i:parse_amc(i) for i in action_type}\n",
    "joint_dimension = {}\n",
    "for joint in joint_name_list:\n",
    "  try:\n",
    "    joint_dimension[joint] = len(action_frames[action_type[0]][1][joint])\n",
    "  except:\n",
    "    pass\n",
    "joint_name_list = list(joint_dimension.keys())\n",
    "joint_range = [[0,0,0,0,0,0],[1,1,1,1,1,1]]\n",
    "for i in joint_name_list:\n",
    "  if i=='root':\n",
    "    continue\n",
    "  tmp = joints[i].limits\n",
    "  for j in range(joint_dimension[i]):\n",
    "    joint_range[0].append(tmp[j][0])\n",
    "    joint_range[1].append(tmp[j][1]-tmp[j][0])\n",
    "    if joint_range[1][-1]==0:\n",
    "      joint_range[1][-1] = 1\n",
    "joint_range[0] = np.array(joint_range[0])\n",
    "joint_range[1] = np.array(joint_range[1])\n",
    "data_set = [[],[]]\n",
    "data_set_length = 50000\n",
    "for action in action_frames:\n",
    "  command = [action_type.index(action)+1]\n",
    "  for frame_index in range(len(action_frames[action])-1):\n",
    "    tmp = [[],[]]\n",
    "    for joint in joint_name_list:\n",
    "      tmp[0] += action_frames[action][frame_index][joint]\n",
    "      tmp[1] += action_frames[action][frame_index+1][joint]\n",
    "    data_set[0].append(command+tmp[0])\n",
    "    data_set[1].append(tmp[1])\n",
    "train_data_set = [[],[]]\n",
    "test_data_set = [[],[]]\n",
    "split_ratio = 0.2\n",
    "np.random.seed(0)\n",
    "for i,j in zip(data_set[0],data_set[1]):\n",
    "  if np.random.rand()<split_ratio:\n",
    "    test_data_set[0].append(i)\n",
    "    test_data_set[1].append(j)\n",
    "  else:\n",
    "    train_data_set[0].append(i)\n",
    "    train_data_set[1].append(j)\n",
    "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
    "joint_mask = torch.tensor(joint_range[0]!=0).to(device)\n",
    "train_data_set[0] = torch.tensor(train_data_set[0])\n",
    "train_data_set[1] = torch.tensor(train_data_set[1])\n",
    "test_data_set[0] = torch.tensor(test_data_set[0])\n",
    "test_data_set[1] = torch.tensor(test_data_set[1])\n",
    "class CustomDataset(Dataset):\n",
    "  def __init__(self, inputs, labels):\n",
    "    self.inputs = torch.tensor(inputs, dtype=torch.float32)\n",
    "    self.labels = torch.tensor(labels, dtype=torch.float32)\n",
    "  def __len__(self):\n",
    "    return len(self.inputs)\n",
    "  def __getitem__(self, idx):\n",
    "    return self.inputs[idx], self.labels[idx]\n",
    "train_dataset = CustomDataset(train_data_set[0], train_data_set[1])\n",
    "train_dataloader = DataLoader(train_dataset, batch_size=32, shuffle=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "class ANN_Network(nn.Module):\n",
    "  def __init__(self,layer_number=3,hidden_dimension=128,output_dimension=64):\n",
    "    super(ANN_Network, self).__init__()\n",
    "    self.layer_number = layer_number\n",
    "    self.hidden_dimension = hidden_dimension\n",
    "    self.output_dimension = output_dimension\n",
    "    self.command_embedding = nn.Embedding(len(action_type)+1,64)\n",
    "    self.fc_list = nn.ModuleList([\n",
    "            nn.LazyLinear(hidden_dimension + output_dimension)\n",
    "            for _ in range(layer_number)\n",
    "        ])\n",
    "  def forward(self,x):\n",
    "    y = torch.cat([self.command_embedding(torch.tensor(x[...,0],dtype=torch.int32)),x[...,1:]],axis=-1)\n",
    "    output = 0.0\n",
    "    for i in self.fc_list:\n",
    "      tmp = i(y)\n",
    "      output += tmp[...,self.hidden_dimension:]\n",
    "      y = F.relu(tmp[...,:self.hidden_dimension])\n",
    "    return output\n",
    "model = ANN_Network(layer_number=3,hidden_dimension=512,output_dimension=np.sum(list(joint_dimension.values())))\n",
    "model.to(device)\n",
    "optimizer = optim.Adam(model.parameters(),lr=0.0001,weight_decay=0.0000)\n",
    "#optimizer = optim.SGD(model.parameters(),lr=0.003,momentum=0.9)\n",
    "criterion = nn.MSELoss()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\xchen\\AppData\\Local\\Temp\\8\\ipykernel_16512\\3440917846.py:13: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  y = torch.cat([self.command_embedding(torch.tensor(x[...,0],dtype=torch.int32)),x[...,1:]],axis=-1)\n"
     ]
    }
   ],
   "source": [
    "num_epochs = 1000\n",
    "history = []\n",
    "for epoch in range(num_epochs):\n",
    "  tmp = []\n",
    "  running_loss = 0.0\n",
    "  for i, data in enumerate(train_dataloader,0):\n",
    "    inputs, labels = data\n",
    "    inputs, labels = inputs.to(device), labels.to(device)\n",
    "    outputs = model(inputs)\n",
    "    #loss = criterion(outputs*joint_mask,labels*joint_mask)\n",
    "    loss = criterion(outputs[...,6:],labels[...,6:])\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "    tmp.append(loss.item())\n",
    "  history.append(tmp)\n",
    "torch.save({f'weight': model.state_dict(),},f'weight_{name}.pth')\n",
    "tmp = []\n",
    "for i in history:\n",
    "  tmp.append(np.mean(i))\n",
    "np.save(f'loss_{name}.npy',tmp)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# detail"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "ANN_Network(\n",
       "  (command_embedding): Embedding(3, 64)\n",
       "  (fc_list): ModuleList(\n",
       "    (0-2): 3 x LazyLinear(in_features=0, out_features=574, bias=True)\n",
       "  )\n",
       ")"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "class ANN_Network(nn.Module):\n",
    "  def __init__(self,layer_number=3,hidden_dimension=128,output_dimension=64):\n",
    "    super(ANN_Network, self).__init__()\n",
    "    self.layer_number = layer_number\n",
    "    self.hidden_dimension = hidden_dimension\n",
    "    self.output_dimension = output_dimension\n",
    "    self.command_embedding = nn.Embedding(len(action_type)+1,64)\n",
    "    self.fc_list = nn.ModuleList([\n",
    "            nn.LazyLinear(hidden_dimension + output_dimension)\n",
    "            for _ in range(layer_number)\n",
    "        ])\n",
    "  def forward(self,x):\n",
    "    y = torch.cat([self.command_embedding(torch.tensor(x[...,0],dtype=torch.int32)),x[...,1:]],axis=-1)\n",
    "    output = []\n",
    "    for i in self.fc_list:\n",
    "      tmp = i(y)\n",
    "      output.append(tmp[...,self.hidden_dimension:])\n",
    "      y = F.relu(tmp[...,:self.hidden_dimension])\n",
    "    return output\n",
    "model2 = ANN_Network(layer_number=3,hidden_dimension=512,output_dimension=np.sum(list(joint_dimension.values())))\n",
    "model2.to(device)\n",
    "checkpoint = torch.load(f'weight_{name}.pth')\n",
    "model2.load_state_dict(checkpoint[\"weight\"])\n",
    "model2.eval()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\xchen\\AppData\\Local\\Temp\\5\\ipykernel_29200\\1409387531.py:13: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  y = torch.cat([self.command_embedding(torch.tensor(x[...,0],dtype=torch.int32)),x[...,1:]],axis=-1)\n",
      "C:\\Users\\xchen\\AppData\\Local\\Temp\\5\\ipykernel_29200\\197337840.py:20: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  x = torch.cat([torch.tensor(command),torch.tensor(y,dtype=torch.float32)])\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Modelview Matrix (Column-Major):\n",
      " [[  0.7071068    0.          -0.70710677   0.        ]\n",
      " [  0.           1.           0.           0.        ]\n",
      " [  0.7071068    0.           0.70710677   0.        ]\n",
      " [ 45.961945     0.         -45.96194      1.        ]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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rrzY62/sa6rfcccdX/m3YqbQ5n7yk5+st74Vc16wzmPEH1qFWqtVkJcsWeJvFHSSr6qqciNGjEgyD2G0c2KhSy65xK9xUOwIzNjzEGZdF7rFXOCWSl4+1SOfqqXdVUOmasWc99JLL/n1k+Ttt992W265ZUO+plelllcK5Y/yHJbX1mg6/JNPPulv1nTjojWLYsrLGx10jDXTQ5/nKef96U9/8mtIafTqNtts4xtfYmk0KIU15fLzvY7HnDlz3JtvvuksNhvI8zQNNGQUtXUe9Tft+mvdsBb7Lrc1NTWN6oemSoc0/O2+++5fOR+EjOq0zlMQsME98sgj2X777Zdtvvnm2T777JNNmzYt6TyEmTVrVnbIIYdkPXr0yA4++ODsxRdfTDoPYV599VX/mDt3bnbbbbdlw4cPTzqv0Pz587NRo0a1ibwVK1Zkw4YNM8mKOS/28kd5tstrC8aOHes/M/fdd99szpw52cCBA6PKa+qII45IOm/HHXfMpk+fng0ePNh/v//++wflzZgxY72PYpx//vnrfcSQ19Thhx+eWfr2t78dVR71N+36e8EFF/jHmDFjfNaQIUMyS0cffXTUeUOM/17r80FoHiP+0CquuuoqN3369Ea7AB566KHJ5iGMds2dPHmynxKgRU61xkHI9LnY86x73GJn/fcWjsDcaaed3N133110VinkFerXr58fqWy1uHPMeerxffnll4NfU+x5sZc/yrNdXlugjQb00BqJ1157rV8WI6a8wtGbWuB90aJFSeftsMMO/hpXU8ok35goZERO4Qjg+fPnu2233bbozRry64N88wJthqBNhIpdqco6r3CNTx2LwqWCir2ezF+L8rp27RpVHvU37frbdLPCfGNLq81Hli5d6kex6fOymFkQ1nlTCzaXWbhwofvoo49cCOvzgXUeDX9oFbHvKmidZz21oK3R+6/FTXU8NOVaC6unnGc9lD121n/vu+++2+j7K6+80r3zzjv+wqCYDRZiz2u6RonWytEaL1LMlIWY83TRl9O5WTvkhYg9b12fH1o7NOW8pmvabLfddkGNarHnxT6V0TqvaaeY1oYMYZ2Xn690TDWNW515KeetXr3ad1pqY4ChQ4f6zYlC/Ou//qvf0VaPTz75xH3zm9/8SmNCcxSuk6wbX20GceONN0aTly+8r+Oxzz77uMsvv9yFOOKIIxodX3WmxJRH/U27/mq9RdVdTb/W0iXPPPNMUMdW7PV31t8bYvPjofX8Q1ifD6zzaPhDq4h9V0HrvKY9oBodplFhkmKDjvWNQseOHf37p56dI4880n/IhYg9r+lFsnrzUl5c1/rvVWOSeu50gas1VLbYYgvXu3dvf4z+8Ic/JJf38MMP+52kd9ttN38RozVLtPNosWLOs94sJ/a8woZxlQ9diKtTSjuGp5q3rjVtQsSet673b+eddy56hFTseaJ1lO677z537733+gZyrVEVwjJPu2Lq2i8fqRa622jsefkacLqx7NWrl88Mke9g/u///u++0Unnfit6fcWuldpSeaeeeqr/XJs3b55f07VDhw5Bebrn0GYPGs2k46zrrZDrK+s8of6mW3979uzpdtllF7/Jiq7NLUeyx1h/L730Uj/KT53vffv29dfjoeeDZcuW+TKtz8gPP/ywqA79lspjV1+0qth3FbTKGzt2rHv88ccbGv/eeOMNt/322/uREcWMjoi9R79wakHThs5rrrmmqB4tXUxp0d/q6mp/TELEnnfTTTf5C581a9b4sqdcbRaiRfSLGXGl49F0RF1Ir5Z1nvXfe/zxx7vf//73/ga1trbWb7KiC8pixZ43ePBg37iW+853vtNo+kJKeZo6++Mf/9hf/OgCVcsyhIxgiD1vXTT1RjdJbSUvtPyVWl7sxyM0T6NS9JmpHDUQa5RFCOu8//7v/3aTJk1yf/nLX9yOO+7oF1IPWew99jx1ct9///2+4UqjV/V+VlRUuBB//etf/YghnffV4PR115jNGUW9cuVKfyMcMpLaKu/MM890//Vf/+V+9KMf+Rvzf/7nf/YNgJr1UTg9r7nUcawNBnUtKbqWLua6uaXyqL9p11+VZY34mzlzpm8M073Nuna+LfX6e/HFF/sduVUXtEGKOrN0/aZOaXVaFGv48OG+g0yNkrqfKbZDv6XyGPGHVhH7roLWeWro0xoWhSOaQtaAmzJlSqPvdRGer8NQTEOddZ567AobOjXdQxd+xU4B01DupsejmG3MSyVPN5Ea/q8Pb53oDzvsMPfQQw8V3ZPcdERdaA+jdZ7136spD7p40evSKMymU2tTy9MIukceecTvLqiG2BUrViSbd+6557rf/OY3vuNEI61086UbzFTz5NVXX234WiNFVX5Szot9jRzrvML3T3mWxyPGPE1d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",
      "text/plain": [
       "<Figure size 1600x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 500x500 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABFIAAAGkCAYAAAASSQGpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZZ9JREFUeJzt3Qu8TPX+//HP7AtbqIh0VBS6KPeUS64htygqJSndPDqSOlHHQSdyOYhup/MvXZ2uuinqkIijlAhRLr9cItFFoXNy2ew9s/6Pz5fZZ2bMsmdta/asNfv1fDymva1Z8501s2Zm7/3p+/28A5ZlWQIAAAAAAIBCZRS+CwAAAAAAABSFFAAAAAAAgARRSAEAAAAAAEgQhRQAAAAAAIAEUUgBAAAAAABIEIUUAAAAAACABFFIAQAAAAAASBCFFAAAAAAAgARRSAEAAAAAAEgQhRQAAAAAAIAEUUg57B//+IecccYZkpOTI02aNJGlS5em+pBQBH/729/kwgsvlPLly8vJJ58sV1xxhXzzzTdR++Tm5sodd9whJ510kpQrV06uvPJK+fnnn1N2zCi68ePHSyAQkLvvvrtgG+fX37Zv3y7XX3+9OX9lypSRunXryrJlywqutyxL/vrXv8of/vAHc3379u1lw4YNKT1mJCYYDMr9998vZ555pjl3NWvWlNGjR5tzGsb59Y+PP/5YunXrJlWrVjWfw++++27U9Ymcy127dkmfPn3k+OOPlxNPPFFuueUW2bNnTzE/Ejg9v3l5efLnP//ZfD6XLVvW7HPDDTfIDz/8EDUG59e/799It99+u9nn0UcfjdrO+fX3+V23bp10795dTjjhBPM+1r+ftm7dWnA9v08XjkKKiLz++utyzz33yAMPPCArVqyQ+vXrS8eOHWXHjh2pPjQ4tHDhQvOm//zzz2Xu3Lnmh/2ll14qe/fuLdjnT3/6k7z33nvy5ptvmv31B3/Pnj1Tetxw7osvvpApU6ZIvXr1orZzfv1r9+7dcvHFF0t2drbMnj1b1q5dK5MnT5YKFSoU7DNx4kR5/PHH5amnnpIlS5aYH/76ea0/8OFtEyZMkCeffFKeeOIJ8wuc/lvP59///veCfTi//qE/V/X3Jf0fUfEkci71j7A1a9aYn9fvv/+++eW/f//+xfgoUJTzu2/fPvP7shZG9ev06dPN/7TSP8oicX79+/4Ne+edd8zv1PoHeSzOr3/P76ZNm6RFixZy7rnnyr///W/56quvzPtZJxSE8ft0AixYF110kXXHHXcU/DsYDFpVq1a1/va3v6X0uHDsduzYof+r01q4cKH592+//WZlZ2dbb775ZsE+69atM/ssXrw4hUcKJ37//XfrrLPOsubOnWu1bt3auuuuu8x2zq+//fnPf7ZatGhhe30oFLJOOeUU66GHHirYpue8dOnS1muvvVZMR4mi6tq1q3XzzTdHbevZs6fVp08f8z3n17/0M/add94p+Hci53Lt2rXmdl988UXBPrNnz7YCgYC1ffv2Yn4EcHJ+41m6dKnZ77vvvjP/5vz6//xu27bNOvXUU63Vq1db1atXtx555JGC6zi//j6/11xzjXX99dfb3obfpxNT4mekHDx4UJYvX26mnIZlZGSYfy9evDilx4Zj95///Md8rVixovmq51pnqUSeb63GVqtWjfPtIzrrqGvXrlHnUXF+/W3mzJnSuHFjufrqq83SvIYNG8ozzzxTcP3mzZvlp59+ijq/OiVVl2Nyfr2vefPm8tFHH8n69evNv1etWiWLFi2Szp07m39zftNHIudSv+pyAH3Ph+n++juYzmCB/37f0iUEek4V59ffQqGQ9O3bV+699145//zzj7ie8+vvc/uvf/1Lzj77bDNLUH/f0s/myOU//D6dmBJfSPn111/Nuu0qVapEbdd/6y8B8PcHhfbO0KUCderUMdv0nJYqVargB30Y59s/pk2bZqYSaz+cWJxff/v222/N0o+zzjpL5syZI3/84x9l0KBB8s9//tNcHz6HfF7709ChQ+Xaa681v4zp8i0tlOlntE4PV5zf9JHIudSv+gt8pKysLPM/Pjjf/qLLtbRnSu/evU2/DMX59TddeqnnS38Gx8P59S9tXaG9bLTPYKdOneTDDz+UHj16mGU7uoRH8ft0YrIS3A/w5ayF1atXm//jifTw/fffy1133WXW40au40T6FD/1/26NGzfO/Fv/0Nb3sPZYuPHGG1N9eDhGb7zxhrzyyivy6quvmv/DuXLlSlNI0bX3nF/An/T/Wvfq1cs0F9ZCOPxPZyM89thj5n9a6SwjpN/vWuryyy83fVBUgwYN5LPPPjO/b7Vu3TrFR+gfJX5GSqVKlSQzM/OILsT671NOOSVlx4VjM3DgQNP4asGCBXLaaacVbNdzqsu5fvvtt6j9Od/++eGulfRGjRqZ//OhF62ea0ND/V4r5Zxf/9J0j/POOy9qW+3atQu6yIfPIZ/X/qRTxMOzUjTtQ6eN6y9x4dllnN/0kci51K+xTf3z8/NNEgjn219FlO+++878D47wbBTF+fWvTz75xJw7XcYR/l1Lz/HgwYNNwqni/Pr7b189p4X9vsXv04Ur8YUUnbZ0wQUXmHXbkZU6/XezZs1SemxwTv+PiBZRtMv4/PnzTcxmJD3XOqU88nxrp3n94OB8e1+7du3k66+/Nv8nO3zRGQy6NCD8PefXv3QZXmxcufbTqF69uvle38/6Azzy/P73v/8167E5v96nSR+6fj6S/o+M8P8d4/ymj0TOpX7VX9K1QB6mP7f19aDr9eGPIopGWs+bN89EpEbi/PqXFrk1xSXydy2dOajFcF12qzi//v7bV6OOj/b7Fn8vJSjBprRpbdq0aaaT/NSpU00X6v79+1snnnii9dNPP6X60ODQH//4R+uEE06w/v3vf1s//vhjwWXfvn0F+9x+++1WtWrVrPnz51vLli2zmjVrZi7wp8jUHsX59S9NfcjKyrLGjh1rbdiwwXrllVes4447znr55ZcL9hk/frz5fJ4xY4b11VdfWZdffrl15plnWvv370/psaNwN954o0mAeP/9963Nmzdb06dPtypVqmTdd999Bftwfv2Vnvbll1+ai/46+fDDD5vvw6ktiZzLTp06WQ0bNrSWLFliLVq0yKSx9e7dO4WPComc34MHD1rdu3e3TjvtNGvlypVRv28dOHCgYAzOr3/fv7FiU3sU59e/51d//moqz9NPP21+3/r73/9uZWZmWp988knBGPw+XTgKKYfpC0hfLKVKlTJxyJ9//nmqDwlFoB8W8S4vvPBCwT76S9yAAQOsChUqmD/SevToYX74Iz0KKZxff3vvvfesOnXqmOL2ueeea37IR9JY1fvvv9+qUqWK2addu3bWN998k7LjReL++9//mveq/qzNycmxatSoYQ0fPjzqDy/Or38sWLAg7s9bLZglei537txp/vAqV66cdfzxx1s33XST+QMA3j6/Wgi1+31LbxfG+fXv+zeRQgrn19/n97nnnrNq1aplfh7Xr1/fevfdd6PG4PfpwgX0P4nOXgEAAAAAACjJSnyPFAAAAAAAgERRSAEAAAAAAEgQhRQAAAAA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",
      "text/plain": [
       "<Figure size 1331.61x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "action_id = 1\n",
    "record = {}\n",
    "command = [action_id+1]\n",
    "tmp = []\n",
    "frames = []\n",
    "for joint in joint_name_list:\n",
    "  tmp += action_frames[action_type[action_id]][1][joint]\n",
    "frames.append(torch.tensor(tmp,dtype=torch.float32))\n",
    "x = torch.tensor(command+tmp,dtype=torch.float32)\n",
    "for i in range(len(action_frames[action_type[action_id]])-1):\n",
    "  l = model2(x.unsqueeze(0).to(device))\n",
    "  y = 0.0\n",
    "  for index,j in enumerate(l):\n",
    "    if index not in record:\n",
    "      record[index] = []\n",
    "    tmp = j.cpu().detach()[0]\n",
    "    y += tmp\n",
    "    record[index].append(tmp)\n",
    "  frames.append(y)\n",
    "  x = torch.cat([torch.tensor(command),torch.tensor(y,dtype=torch.float32)])\n",
    "  \n",
    "tmp = []\n",
    "for i in frames:\n",
    "  c = 0\n",
    "  a = {}\n",
    "  for joint in joint_name_list:\n",
    "    a[joint] = i[c:c+joint_dimension[joint]]\n",
    "    if joint=='root':\n",
    "      a[joint] = action_frames[action_type[action_id]][1][joint]\n",
    "    c += joint_dimension[joint]\n",
    "  tmp.append(a)\n",
    "v = Viewer(joints,tmp)#,output_video=f'video_{name}_{action_id}.mp4')\n",
    "v.playing = True\n",
    "v.run(True,f'image/{name}_{action_id}')\n",
    "std = []\n",
    "for i in range(len(record)):\n",
    "  std.append(np.std(record[i],axis=0))\n",
    "x_ticks = []\n",
    "for i in joint_name_list:\n",
    "  for j in range(joint_dimension[i]):\n",
    "    x_ticks.append(i)\n",
    "plt.matshow(std)\n",
    "plt.xticks(range(len(x_ticks)),x_ticks,fontsize=6,rotation=-90)\n",
    "plt.show()\n",
    "np.save(f'std_{name}_{action_id}.npy',std)\n",
    "np.save(f'std_xticks.npy',x_ticks)\n",
    "fig = plt.figure(figsize=(5,5))\n",
    "tmp = np.sum(list(record.values()),axis=0)\n",
    "x_ticks = []\n",
    "for i in joint_name_list:\n",
    "  for j in range(joint_dimension[i]):\n",
    "    x_ticks.append(i)\n",
    "plt.matshow(tmp.T)\n",
    "plt.yticks(range(len(x_ticks)),x_ticks,fontsize=6)\n",
    "plt.show()\n",
    "np.save(f'activation_{name}_{action_id}.npy',tmp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\xchen\\AppData\\Local\\Temp\\5\\ipykernel_4644\\1409387531.py:13: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  y = torch.cat([self.command_embedding(torch.tensor(x[...,0],dtype=torch.int32)),x[...,1:]],axis=-1)\n",
      "C:\\Users\\xchen\\AppData\\Local\\Temp\\5\\ipykernel_4644\\2608506889.py:22: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  x = torch.cat([torch.tensor(command),torch.tensor(y,dtype=torch.float32)])\n"
     ]
    }
   ],
   "source": [
    "action_id = 1\n",
    "start = len(action_frames[action_type[0]])-1 if action_id==1 else 0\n",
    "record = {}\n",
    "command = [action_id+1]\n",
    "tmp = []\n",
    "frames = []\n",
    "target = []\n",
    "for joint in joint_name_list:\n",
    "  tmp += action_frames[action_type[action_id]][1][joint]\n",
    "frames.append(torch.tensor(tmp,dtype=torch.float32)*0.1)\n",
    "x = torch.tensor(command+tmp,dtype=torch.float32)*0.1\n",
    "for i in range(len(action_frames[action_type[action_id]])-1):\n",
    "  l = model2(x.unsqueeze(0).to(device))\n",
    "  y = 0.0\n",
    "  for index,j in enumerate(l):\n",
    "    if index not in record:\n",
    "      record[index] = []\n",
    "    tmp = j.cpu().detach()[0]\n",
    "    y += tmp\n",
    "    record[index].append(tmp)\n",
    "  frames.append(y)\n",
    "  x = torch.cat([torch.tensor(command),torch.tensor(y,dtype=torch.float32)])\n",
    "loss = data_set[1][start:start+len(frames)-1]\n",
    "tmp = []\n",
    "for i in frames:\n",
    "  c = 0\n",
    "  a = {}\n",
    "  for joint in joint_name_list:\n",
    "    a[joint] = i[c:c+joint_dimension[joint]]\n",
    "    if joint=='root':\n",
    "      a[joint] = action_frames[action_type[action_id]][1][joint]\n",
    "    c += joint_dimension[joint]\n",
    "  tmp.append(a)\n",
    "v = Viewer(joints,tmp)#,output_video=f'video_{name}_{action_id}.mp4')\n",
    "v.playing = True\n",
    "v.run()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\xchen\\AppData\\Local\\Temp\\5\\ipykernel_4644\\1409387531.py:13: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  y = torch.cat([self.command_embedding(torch.tensor(x[...,0],dtype=torch.int32)),x[...,1:]],axis=-1)\n",
      "C:\\Users\\xchen\\AppData\\Local\\Temp\\5\\ipykernel_4644\\3844367823.py:22: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  x = torch.cat([torch.tensor(command),torch.tensor(y,dtype=torch.float32)])\n"
     ]
    },
    {
     "data": {
      "image/png": "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UVK5cmVp27atbNq0SZo0aWKPogEAAIuya0fcktqRBwAAWO/8zdpDAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAADAEggtAACgdIaWF198UVxcXHJtjRo1KvAxixYtMvt4eXlJ8+bNZdmyZUVdLAAAYHF2qWlp2rSpnD59OnvbsGFDvvtu2rRJRowYIePGjZPdu3fL4MGDzbZ//357FA0AAFiUXUKLu7u7BAQEZG/VqlXLd993331X+vXrJ1OnTpXGjRvLK6+8Im3atJGZM2fao2gAAMCi7BJajh49KkFBQRISEiIjR46UiIiIfPfdvHmz9O7dO9dtffv2NbfnJyUlReLj43NtAADAuRV5aOnQoYPMmzdPVqxYIbNnz5bw8HDp1q2bJCQk5Ll/VFSU+Pv757pNr+vt+Zk+fbr4+Phkb8HBwUX9MgAAgLOHlv79+8uwYcOkRYsWpsZEO9XGxsbK119/XWT/x7Rp0yQuLi57O3nyZJE9NwAAKJnc7f0fVKpUSRo0aCBhYWF53q99XqKjo3Pdptf19vx4enqaDQAAlB52n6clMTFRjh07JoGBgXne36lTJ1m1alWu21auXGluBwAAsFtomTJliqxbt06OHz9uhjMPGTJE3NzczLBmNWrUKNO8k+Wxxx4z/V/efPNNOXz4sJnnZceOHTJp0qSiLhoAALCwIm8eioyMNAElJiZGfH19pWvXrrJlyxZzWelIIlfXP7NS586d5csvv5Rnn31W/vGPf0j9+vVl6dKl0qxZs6IuGgAAsDAXm81mE4vTIc86ikg75Xp7ezu6OAAAwA7nb9YeAgAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBoAQAAlkBo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MGGCnD59OnvT4enOpmnTprle44YNG7Lve+KJJ+S7774zw/T1PdMP6qFDh4qz2b59e673QI8JNWzYMKc+FvR41791/cKSF32NOoWDrkC/detWc9LWzwUNs1n0BHXgwAHznunq9fqB/+CDD4qzvA8XL140n4nPPfec+bl48WLzBWfgwIFX7fvyyy/nOkYeffRRcabjQWlIyfkav/rqq1z3O/vxoHK+ft3mzJljQol+qSvS40GHPCNv7du3t02cODH7enp6ui0oKMg2ffp0W2lw5swZHQ5vW7duXfZtt956q+2xxx6zObMXXnjB1rJlyzzvi42NtXl4eNgWLVqUfduhQ4fM+7R582abM9Pfe926dW0ZGRml5ljQ3+uSJUuyr+trDwgIsM2YMSPXMeHp6Wn76quvzPWDBw+ax23fvj17n+XLl9tcXFxsv//+u80Z3oe8bNu2zex34sSJ7Ntq1aple/vtt23OIq/3YfTo0bZBgwbl+5jSejwMGjTIdtttt+W6rSiOB2pa8pGamio7d+40Vb9ZXF1dzfXNmzdLaRAXF2d+VqlSJdftX3zxhVljqlmzZmbFbf3W5Wy0ul+rQUNCQsy3pIiICHO7HhNaA5XzuNCmo5o1azr1caF/D59//rk88MADuVZSLw3HQk7h4eFmwsycv39d7E2bjrN+//pTmwB0RvAsur9+fmjNjDN/XuixceXitVr9r02prVu3Nk0Fly9fFmezdu1a06TesGFDefjhhyUmJib7vtJ4PERHR8sPP/xgmsGudLPHgyVXeS4O586dk/T0dPH39891u14/fPiwODtdL+rxxx+XLl26mBNSlvvuu09q1aplTuh79+417dpaLazVw85CT0A6W7N+AGn15UsvvSTdunWT/fv3mxOWrq915QezHhd6n7PS9uvY2FjTfl+ajoUrZf2O8/pcyLpPf+oJLCd3d3cT/p31GNGmMf39jxgxItfKvn//+9+lTZs25rVv2rTJBFv9m3rrrbfEWWjTkDYP16lTR44dOyb/+Mc/pH///ias6OLBpfF4mD9/vukbeWWzeVEcD4QW5En7tuhJOmdfDpWzHVY74WlnxF69epk/1rp164oz0A+cLC1atDAhRk/OX3/9tel4WRp98skn5n3RgFKajgVcm9Y83nPPPaaD8uzZs3Pdp30Cc/4taeD/29/+Zjr9O8v6PMOHD8/1d6CvU49/rX3Rv4fSaM6cOaaGWgewFPXxQPNQPrTKW1PylaNC9HpAQIA4s0mTJpnOYmvWrJEaNWoUuG/WelJhYWHirLRWpUGDBuY16u9em0q01qG0HBcnTpyQn3/+WcaPHy+l/VjI+h0X9LmgP6/srK9V4DqCxNmOkazAoseIdjLNWcuS3zGi74WuMeestElZzx9Zfwel6XhQv/zyi6lxvdbnxY0eD4SWfGgCbNu2raxatSpXk4le79Spkzgj/aakgWXJkiWyevVqU915LXv27DE/9Vu2s9KhiVp7oK9RjwkPD49cx4X+gWqfF2c9LubOnWuqt3UF9tJ+LOjfhJ5ocv7+4+PjTd+ErN+//tRQq/2fsujfk35+ZAU7Zwos2v9LQ632U7gWPUa0L8eVzSXOJDIy0vRpyfo7KC3HQ85aWf2c1JFGdjkebqobr5NbsGCBGRUwb9480wP8wQcftFWqVMkWFRVlc0YPP/ywzcfHx7Z27Vrb6dOns7eLFy+a+8PCwmwvv/yybceOHbbw8HDbN998YwsJCbF1797d5kyefPJJ8x7oa9y4caOtd+/etmrVqpnRVOqhhx6y1axZ07Z69WrzXnTq1MlszkhHzOlrffrpp3Pd7szHQkJCgm337t1m04/It956y1zOGhXz2muvmc8Bfc179+41oyTq1Klju3TpUvZz9OvXz9a6dWvb1q1bbRs2bLDVr1/fNmLECJuzvA+pqam2gQMH2mrUqGHbs2dPrs+LlJQU8/hNmzaZkSJ6/7Fjx2yff/65zdfX1zZq1Cibs7wPet+UKVPMyEH9O/j5559tbdq0Mb/v5OTkUnM8ZImLi7OVK1fONnv2bNuViup4ILRcw/vvv28+tMuUKWOGQG/ZssXmrPRAzGubO3euuT8iIsKclKpUqWLCXL169WxTp041B6ozuffee22BgYHmd169enVzXU/SWfTk9Mgjj9gqV65s/kCHDBliPqyd0Y8//miOgdDQ0Fy3O/OxsGbNmjz/DnRoa9aw5+eee87m7+9vXnuvXr2uen9iYmLMSalChQo2b29v29ixY82HvrO8D3qCzu/zQh+ndu7caevQoYP5IuTl5WVr3Lix7Z///Geuk7nV3wf9QtenTx9z8tWpEHRI74QJE676Yuvsx0OWf//737ayZcuaaQCuVFTHg4v+c/31MgAAAI5BnxYAAGAJhBYAAGAJhBYAAGAJhBYAAGAJhBYAAGAJhBYAAGAJhBYAAGAJhBYAAGAJhBYAAGAJhBYAAGAJhBYAACBW8P8BF9xNn3rFSBQAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "action_id = 1\n",
    "start = len(action_frames[action_type[0]])-1 if action_id==1 else 0\n",
    "record = {}\n",
    "command = [action_id+1]\n",
    "tmp = []\n",
    "frames = []\n",
    "target = []\n",
    "for joint in joint_name_list:\n",
    "  tmp += action_frames[action_type[action_id]][0][joint]\n",
    "frames.append(torch.tensor(tmp,dtype=torch.float32)*0.1)\n",
    "x = torch.tensor(command+tmp,dtype=torch.float32)*0.1\n",
    "for i in range(len(action_frames[action_type[action_id]])-1):\n",
    "  l = model2(x.unsqueeze(0).to(device))\n",
    "  y = 0.0\n",
    "  for index,j in enumerate(l):\n",
    "    if index not in record:\n",
    "      record[index] = []\n",
    "    tmp = j.cpu().detach()[0]\n",
    "    y += tmp\n",
    "    record[index].append(tmp)\n",
    "  frames.append(y)\n",
    "  x = torch.cat([torch.tensor(command),torch.tensor(y,dtype=torch.float32)])\n",
    "target = np.array(data_set[1][start:start+len(frames)-1])\n",
    "loss = np.mean(((target[:,6:]-np.array(frames[1:])[:,6:])**2)**0.5,axis=-1)\n",
    "plt.plot(loss)\n",
    "plt.ylim(0,20)\n",
    "plt.show()\n",
    "np.save(f'jitter_{name}_{action_id}.npy',loss)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# the computation mechanism"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "weight = model2.state_dict()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "odict_keys(['command_embedding.weight', 'fc_list.0.weight', 'fc_list.0.bias', 'fc_list.1.weight', 'fc_list.1.bias', 'fc_list.2.weight', 'fc_list.2.bias'])"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "weight.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x1b1b88fe3c0>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABGoAAACvCAYAAACl3TgSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAJ85JREFUeJzt3Ql0lNX5+PHnnQlZgCSyGhFkEbQgCpXthysoBa1FOFqlrf5FqqgtWBWXij0SalWsK2oRxAVsLYp6ioiteChr/QlFoC7YSkVRgxgWhSQEksnMvP/zXJz5ZSajZt53MvNm+H7OuSeZO3Pn3pm5eed9n9zFsm3bFgAAAAAAAGScL9MNAAAAAAAAwCEEagAAAAAAADyCQA0AAAAAAIBHEKgBAAAAAADwCAI1AAAAAAAAHkGgBgAAAAAAwCMI1AAAAAAAAHgEgRoAAAAAAACPyMl0AwAAAAAAAFKppqZGAoFAwvtyc3MlPz9fvIpADQAAAAAAyKogTfeuraV8Vyjh/SUlJbJt2zbPBmsI1AAAAAAAgKwRCARMkGbrhi5SVBi74ktlVVh6DiwzjyFQAwAAAAAAkCYtC22T6gtK7G0vIlADAAAAAACyTsi2TYrP8zoCNQAAAAAAIOsEJSx1CfK8jkANAAAAAADIOnV2WOrshnleR6AGAAAAAABknfDXKT7P6wjUAAAAAACArBOwbZPi87wudp8qAABwWBk2bJhJXjF9+nSxLEv27Nnjmde+atUq0yb9GXH55ZdLt27dmriFAADAjaBYUheXNM/rCNQAAJq9jz76SK6++mrp0aOH5OfnS1FRkZx66qny8MMPy8GDBzPdPAAAAGRA2E6cvI6pTwCAZu2vf/2rXHTRRZKXlyeXXXaZ9O3bVwKBgLzxxhty8803y/vvvy9z587NdDORZZ544gkJh5vDLHcAAA5fAfGZFJvnfQRqAADN1rZt2+QnP/mJdO3aVVasWCFHHXVU9L5JkybJ1q1bTSAHSLUWLVpkugkAAOA7hG3LpPg8r2PqEwCg2br33ntl//798tRTT8UEaSJ69uwp1113XfR2MBiU3/3ud3LssceaETi6xshtt90mtbW1MeU0/0c/+pFZk2TgwIFSUFAgJ554YnSNkr/85S/mtk6zGjBggPzrX/+KKa/rl7Ru3Vo+++wz8zz6+9FHHy2zZs0y97/33nty1llnSatWrUyQacGCBTHlv/rqK7nppptMHVpWp3Kde+658s477yRcO+WFF16Qu+66Szp37mzadPbZZ5sgVTwdWaSvXV/P4MGD5R//+EdS7/ezzz5rXq+Wb9u2rQmSlZWVxTxG13zRUU3vvvuunHnmmdKyZUvzObz00kvm/tWrV8uQIUPMcxx//PHy97//PWFdukbNxRdfbF57u3btzOdYU1PjqE3JvPbt27fL2LFjzWfTsWNHueGGGxr0j0Rr1HzyySfms7j//vujdWkfGzRokLz11lsNyr/44ovSp08f83np+7Vo0SLWvQEAIMUC4k+YkjFjxgzzfV5YWGjODfQ8YcuWLdKUCNQAAJqtJUuWmHVpTjnllEY9/sorr5Rp06bJySefLA899JAJJOiXr17cx9NAx89+9jMZPXq0eczevXvN73/+85/Nxfull14qv/3tb836OBpQiJ8GEwqFTHClS5cuJqCkF+CTJ0+W+fPnyznnnGMCQL///e/Nl75O2dLRQREff/yxvPzyyybI8+CDD5opXBrc0fbu2LGjQVvvuecec6GvwZ2pU6fKunXr5JJLLol5jAazdB2fkpIS0x5dw+f8889PGNRIRANB2s5evXqZNl1//fWyfPlyOeOMM2Tfvn0xj9X3StuuARmtSwMW+h4vXLjQ/PzhD39o2lxdXS0//vGPpaqqqkF9+p5qYEbfe338I488IldddZWjNjX2tet6Rhrkev31181n9Zvf/MYEdG655RZpLA263Xfffaa+O++80wRwLrjgAqmrq4s+Rkd5jRs3zozK0den919xxRWycePGRtcDAAC+W9D2SV1c0rxk6D+ZdKS2nl8tW7bMfKePHDnSnMc0GRsAgGaooqJCl4Kzx4wZ06jHv/322+bxV155ZUz+TTfdZPJXrFgRzevatavJe/PNN6N5r7/+uskrKCiwP/3002j+448/bvJXrlwZzRs/frzJu/vuu6N5e/fuNWUty7Kff/75aP4HH3xgHltaWhrNq6mpsUOhUEw7t23bZufl5dl33HFHNE/r1LK9e/e2a2tro/kPP/ywyX/vvffM7UAgYHfs2NHu379/zOPmzp1rHnfmmWd+63v3ySef2H6/377rrrti8vX5c3JyYvL1ufQ5FyxY0OA1+nw+e926dQ3e03nz5kXz9H3QvPPPPz+mrl/+8pcm/5133kmqTcm89pkzZ5q8F154IZpXXV1t9+zZM+FnrP2k/uejj2nXrp391VdfRfMXL15s8pcsWRLNO/HEE+3OnTvbVVVV0bxVq1aZx9V/TgAA4O488bV3u9trth0bkzRP79PHOLFr1y5TfvXq1XZTYUQNAKBZqqysND91REpj/O1vfzM/p0yZEpN/4403mp/xa9notJShQ4dGb+voEKVTlo455pgG+ToKJtEInogjjjjCTPXRKTU6WiRC8/S++uV1BIrP54uOzPnyyy/NFCh97KZNmxrUM2HCBMnNzY3ePv3002PatGHDBtm1a5dcc801MY/TqTbFxcXyXXSql44Y0nbrlKRI0hEqOppl5cqVMY/XttYfpRR5jb17946+X9/13ul/ruq79tprYz7HxrYpmdeuz61T6HSUT4RO3YofyfNtdKRMmzZtvvGz0BFROjpKRwLp+xSho6V0qhsAAEidOvFJnfjjki96Llk/JZrqnEhFRYX5qVOumwqLCQMAmiVdu0QlmjaTyKeffmqCH7peSn16Ya9BBL2/vvrBGBW5qNepTInydbpPfbr2SIcOHRo8VteR0bVM4vPrl9cAhG4t/thjj5kpURqsidD1WuLFtzUSKIg8Z+S1aQCjPp16o1PHvsuHH36oI3AblK//PPV902ts7HuXqK265ot+fjqVKJk2JfPa9bHaP+LbroGmxmrsZxHfDyN5iQJxAADAmTrbb1Js3qGf8eclpaWlMn369G99Pj1H06nWOo1a15hrKgRqAADNNlDTqVMn2bx5c1Ll4i/Cv4nf708qX4MGqSp/9913y+233y4///nPzeLH+h8bDVLoiUGiLaEb2yantE5931577bWEddUfGfJt7XHTzvjPLdk2pUtTfxYAAKDxwuKTUNzSvGE59J2sa9VF/vEXGdH8XXTEr557vvHGG9KUCNQAAJotXbBWd9hZu3ZtzDSlRHR3Jb2415EYOgUnYufOnWbhWb3fK3SHpOHDh5tFcOvTdrZv3z7p54u8Nn3tOnUrQhfD0xE7/fr1+9byOppFAw3du3eX4447TtJB26r11V/cWT+/yK5IjW1TMq9dH6snX/q89QNDqdzZIdKeRLtyJcoDAADO1dk5CUbUHPqO1yBN/UDNd9GNBl599VVZs2aNGT3clFijBgDQbOluPLrmi64FowGXeLojk04hUrpzkJo5c2bMY3S3IHXeeeeJV+io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",
      "text/plain": [
       "<Figure size 1600x200 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(weight['command_embedding.weight'].cpu())\n",
    "plt.title('Command embedding')\n",
    "plt.colorbar()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1000x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "output_dimension = np.sum(list(joint_dimension.values()))\n",
    "plt.figure(figsize=(10,5))\n",
    "a = weight['fc_list.0.weight'].cpu()[512:]\n",
    "ax = plt.subplot(1,2,1)\n",
    "ax.matshow(a[:,:-output_dimension])\n",
    "ax.set_title('Command part')\n",
    "ax = plt.subplot(1,2,2)\n",
    "ax.matshow(a[:,-output_dimension:])\n",
    "ax.set_title('state part')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\xchen\\AppData\\Local\\Temp\\5\\ipykernel_17112\\2249215314.py:1: DeprecationWarning: __array__ implementation doesn't accept a copy keyword, so passing copy=False failed. __array__ must implement 'dtype' and 'copy' keyword arguments. To learn more, see the migration guide https://numpy.org/devdocs/numpy_2_0_migration_guide.html#adapting-to-changes-in-the-copy-keyword\n",
      "  frames = np.dot(a[:,:-output_dimension],weight['command_embedding.weight'].cpu().T).T\n"
     ]
    }
   ],
   "source": [
    "frames = np.dot(a[:,:-output_dimension],weight['command_embedding.weight'].cpu().T).T\n",
    "b = weight['fc_list.0.bias'].cpu()[512:]\n",
    "frames = frames+np.array([b])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Modelview Matrix (Column-Major):\n",
      " [[  0.7071068    0.          -0.70710677   0.        ]\n",
      " [  0.           1.           0.           0.        ]\n",
      " [  0.7071068    0.           0.70710677   0.        ]\n",
      " [ 45.961945     0.         -45.96194      1.        ]]\n"
     ]
    }
   ],
   "source": [
    "tmp = []\n",
    "for i in frames:\n",
    "  c = 0\n",
    "  a = {}\n",
    "  for joint in joint_name_list:\n",
    "    a[joint] = i[c:c+joint_dimension[joint]]\n",
    "    if joint=='root':\n",
    "      a[joint] = action_frames[action_type[0]][1][joint]\n",
    "    c += joint_dimension[joint]\n",
    "  tmp.append(a)\n",
    "v = Viewer(joints,tmp)#,output_video=f'video_{name}_{action_id}.mp4')\n",
    "v.playing = True\n",
    "v.run()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.matshow(weight['fc_list.0.weight'].cpu()[:512])\n",
    "plt.title('Hidden weight')\n",
    "plt.colorbar()\n",
    "plt.show()\n",
    "plt.plot(weight['fc_list.0.bias'].cpu())\n",
    "plt.title('Command embedding')\n",
    "plt.colorbar()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.2"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
